Version control system which essentially keeps track of a group of files and their history. You could think of it as the phylogenetic tree of your files.
A repository is a collection of files within a group that gets tracked together.
Github, GitLab, and BitBucket are all similar and they provide hosting services, which is basically a home for your project on the internet.
It’s like having a DropBox or GoogleDrive but for git-based projects.
This allows other people to see your stuff, synchronize it, and contribute.
An intro on this can be found here
For the R user, best simple straightforward resource out there is Happy git with R
Github itself has a dedicated section for learning in the docs and in particular, the Hello World tutorial will get you creating a repo, managing a branch and merging a pull request.
Artwork by @allison_horst
Also known as a feature branch workflow
source https://www.nobledesktop.com/learn/git/git-branches